#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
namespace rg = std::ranges;

int main() {
    std::vector a{1, 3, 5, 7, 9};
    std::vector<int> b(5); // 持有 5 个零的 vector
    rg::copy(a, b.begin());

    for (int i : b) {
        std::cout << i << std::endl;
    }
    // copy 类似下面这个实现
    // template<typename R, typename O>
    // void copy(R range, O dest) {
    //     auto begin{range.begin()};
    //     auto end{range.end()};
    //     while (begin != end) {
    //         *dest = *begin;  // 复制元素
    //         ++begin, ++dest; // 步进两个迭代器
    //     }
    // }

    return 0;
}
